Resolves: tdf#122348 make return in spinbutton signal value change
before going on to close the dialog afterwards
Change-Id: I9764512a944e52b0d2bff2d11c8cf74c057e2623
Reviewed-on: https://gerrit.libreoffice.org/66024
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 813154b..34c86b8 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -2576,6 +2576,7 @@
DECL_LINK(LoseFocusHdl, Control&, void);
DECL_LINK(OutputHdl, Edit&, bool);
DECL_LINK(InputHdl, sal_Int64*, TriState);
DECL_LINK(ActivateHdl, Edit&, bool);
double toField(int nValue) const
{
@@ -2598,6 +2599,7 @@
m_xButton->SetLoseFocusHdl(LINK(this, SalInstanceSpinButton, LoseFocusHdl));
m_xButton->SetOutputHdl(LINK(this, SalInstanceSpinButton, OutputHdl));
m_xButton->SetInputHdl(LINK(this, SalInstanceSpinButton, InputHdl));
m_xButton->GetSubEdit()->SetActivateHdl(LINK(this, SalInstanceSpinButton, ActivateHdl));
}
virtual int get_value() const override
@@ -2657,6 +2659,8 @@
virtual ~SalInstanceSpinButton() override
{
if (Edit* pEdit = m_xButton->GetSubEdit())
pEdit->SetActivateHdl(Link<Edit&, bool>());
m_xButton->SetInputHdl(Link<sal_Int64*, TriState>());
m_xButton->SetOutputHdl(Link<Edit&, bool>());
m_xButton->SetLoseFocusHdl(Link<Control&, void>());
@@ -2665,6 +2669,13 @@
}
};
IMPL_LINK_NOARG(SalInstanceSpinButton, ActivateHdl, Edit&, bool)
{
// tdf#122348 return pressed to end dialog
signal_value_changed();
return false;
}
IMPL_LINK_NOARG(SalInstanceSpinButton, UpDownHdl, SpinField&, void)
{
signal_value_changed();